package com.yupi.yupao.utils;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class ListJaccardSimilarityUtils {

    /**
     * 将 List 集合转换为 Set 集合
     *
     * @param list List 集合
     * @return Set 集合
     */
    private static Set<String> getListSet(List<String> list) {
        return new HashSet<>(list);
    }

    /**
     * 计算两个字符串 List 集合的 Jaccard 相似度
     *
     * @param list1 List 集合 1
     * @param list2 List 集合 2
     * @return Jaccard 相似度
     */
    public static long calculate(List<String> list1, List<String> list2){
        Set<String> set1 = getListSet(list1);
        Set<String> set2 = getListSet(list2);
        return JaccardSimilarityUtils.calculate(set1, set2);
    }

}